iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 21
2

雖然目前漏洞百出、架構混亂、程式骯髒,但挑戰從來就不是從容優雅的活動,接下來要繼續規劃關鍵的統計功能。

功能規劃

總共分三個區塊:

  1. 收支折線圖:圖上會有兩條線,綠線為收入,紅線為支出,顯示近三十天收支折線圖。
  2. 收支總金額:左邊顯示近三十天收入總額,右邊顯示近三十天支出總額。
  3. 篩選用標籤:使用者可以透過點選標籤進行篩選,選擇標籤後,「收支折線圖」、「收支總金額」會同步更新。

目前暫時不做時間選擇的功能。

實做評估

前面功能規劃時,我是老闆兼 UI 設計,接下來要切換成工程師的角色。

折線圖如何實做?

在不用套件的狀況下,要如何實做折線圖的功能?

第一個想到的是 UIBezierPath,該物件可以協助我們建立向量的路線,也就是是我們可以拿來畫圓練太極、畫線做圖表。

以工程師的角度,我會得出下列結論:

  1. 可行
  2. 實做時間未知

不過換回來老闆的角色,這個功能必須在一天內完成,否則鐵人賽會失敗。

標籤需獨立成 Entity

老闆的需求改了又改,當初偷懶設計的資料庫結構不合用了,因為系統現在需要列出「所有」的標籤,供使用者選擇某個標籤後,再從資料庫撈出符合條件的收支記錄,所以資料庫的結構又要再修改一次。

整個界面用 UITableView 包起來

老闆之後可能會想要再加入更多的統計資料,所以可以預期的是近期內,這個界面還會再加入一些元件,一定會超出一個 iPhone 的版面,所以要用 UITableView 加上客製化 Cell,讓使用者可以上下捲動。

萬事起頭難,頭起了就不難了

用 UIBezierPath 畫一個 Money Mom 的 M 當起手勢,明天就要開始拼命實做功能囉!

程式碼:GitHub


上一篇
Money Mom - 實做收支記錄的界面 Part ∞
下一篇
Money Mom - 實做統計功能 - 折線圖 Part 1
系列文
iOS 三十天上架記帳 APP30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
zdey
iT邦新手 5 級 ‧ 2018-01-09 17:26:18

畫得不錯

我要留言

立即登入留言